package cn.com.taurus.mapper;

import cn.com.taurus.bean.DealMessageBean;
import cn.com.taurus.bean.DealMessageWebBean;
import cn.com.taurus.entity.DealMessage;
import org.springframework.stereotype.Repository;

import java.util.List;

/**
 * @author zhy
 * @createTime 2021-6-23 16:40:24
 * @remark Mapper层
 * @version 1.0
 */
@Repository
public interface DealMessageMapper {
    /**
     * 获取序列中新的dmId
     * @return dmId
     */
    public Integer selectDmIdValue();
    /**
     * 交易申请管理
     * 涉及表：客户账户表、单个基金表、交易申请表
     * @param dealMessage 交易申请对象
     * @return 是否生成交易申请成功  0:失败  1:成功
     */
    public int buyApplication(DealMessage dealMessage);
    /**
     * 交易申请修改
     * @param dealMessage 交易申请对象
     * @return 是否生成交易申请成功  0:失败  1:成功
     */
    public int buyApplicationUpdate(DealMessage dealMessage);
    /**
     * 交易申请删除
     * @param dmId 交易申请编号
     * @return 是否生成交易申请删除成功  0:失败  1:成功
     */
    public int buyApplicationDelete(Integer dmId);
    /**
     * 交易申请查询所有
     * @return 是否查询交易申请成功
     */
    public List<DealMessage> buyApplicationSelectAll();
    /**
     * 交易申请查询单个
     * @param dmId 交易申请编号
     * @return 是否生成交易申请成功  0:失败  1:成功
     */
    public DealMessage buyApplicationSelectOne(Integer dmId);
    /**
     * 根据caId查询交易申请
     * @param caId 账户编号
     * @return
     */
    public List<DealMessageWebBean> selectDealMessageCaId(Integer caId);



    /**
     * 模糊查询
     * @param caId 客户账户编号
     * @param fId 基金编号
     * @param applyBuy 申请购买金额
     * @param applyTime 开始时间
     * @param time 结束时间
     * @return
     */
    public List<DealMessageBean> conditionSelectDealMessage(String caId, String fId, String applyBuy, String applyTime, String time);
}
